package com.sgzn.sgpay.service;

import com.sgzn.sgpay.model.request.*;
import com.sgzn.sgpay.model.response.SgsResultResponse;

/**
 * 商户管理服务
 * @author zhongzhongyong
 * @version Id: SgsMerchantManageService.java, v 0.1 2018/4/17 21:50 zhongzhongyong Exp $$
 */
public interface SgsMerchantManageService {

    /**
     * 主商户注册
     * @param request
     * @return 商户ID
     */
    SgsResultResponse<String> add(SgsMerchantAddRequest request);

    /**
     * 更新商户基础信息（不包括商户账户信息）
     * @param request
     * @return 商户ID
     */
    SgsResultResponse<String> updateBaseInfo(SgsMerchantBaseInfoUpdateRequest request);


    /**
     * 商户绑定银行卡/更新商户信息
     * @param request
     * @return 商户ID
     */
    SgsResultResponse<String> bindMerchantBankCardInfo(SgsMerchantBankCardUpdateRequest request);


    /**
     * 重置密码
     * @param request
     * @return 1 成功  ，0 失败
     */
    SgsResultResponse<String> resetPwd(SgsMchResetPwdRequest request);

    /**
     * 新增子商户
     * @param request
     * @return
     */
    SgsResultResponse<String> addSubMch(SgsSubMchAddRequest request);

    /**
     * 修改子商户
     * @param request
     * @return
     */
    SgsResultResponse<String> updateSubMch(SgsSubMchUpdateRequest request);

    /**
     * 删除子商户
     * @param request
     * @return
     */
    SgsResultResponse<String> deleteSubMch(SgsSubMchDeleteRequest request);
}
